﻿using System;
using System.Linq;
using System.Text;
using DevExpress.Xpo;
using DevExpress.ExpressApp;
using System.ComponentModel;
using DevExpress.ExpressApp.DC;
using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using System.Collections.Generic;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
using Tida.Module.BusinessObjects.产品需求;

namespace Tida.Module.BusinessObjects.客户管理
{

    [NavigationItem("市场销售")]
    [XafDisplayName("客户清单")]
    [DefaultProperty("客户名称")]
    [DefaultClassOptions]
    public class 客户信息 : 系统管理.BaseInf
    { // Inherit from a different class to provide a custom primary key, concurrency and deletion behavior, etc. (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument113146.aspx).
        public 客户信息(Session session)
            : base(session)
        {
        }
        public override void AfterConstruction()
        {
            base.AfterConstruction();
            // Place your initialization code here (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument112834.aspx).
        }

        // Fields...
        private string _客户主要竞争对手;
        private string _客户产品市场区域;
        private string _客户主要供应商名称;
        private string _客户采购额及全球分布占比;
        private string _了解客户渠道;
        private string _客户供应商分布;
        private string _客户年销售额;
        private string _客户母公司所在地;
        private string _客户名称;
        private string _客户编号;

        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户编号
        {
            get
            {
                return _客户编号;
            }
            set
            {
                SetPropertyValue("客户编号", ref _客户编号, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户名称
        {
            get
            {
                return _客户名称;
            }
            set
            {
                SetPropertyValue("客户名称", ref _客户名称, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户母公司所在地
        {
            get
            {
                return _客户母公司所在地;
            }
            set
            {
                SetPropertyValue("客户母公司所在地", ref _客户母公司所在地, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户年销售额
        {
            get
            {
                return _客户年销售额;
            }
            set
            {
                SetPropertyValue("客户年销售额", ref _客户年销售额, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户供应商分布
        {
            get
            {
                return _客户供应商分布;
            }
            set
            {
                SetPropertyValue("客户供应商分布", ref _客户供应商分布, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 了解客户渠道
        {
            get
            {
                return _了解客户渠道;
            }
            set
            {
                SetPropertyValue("了解客户渠道", ref _了解客户渠道, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户采购额及全球分布占比
        {
            get
            {
                return _客户采购额及全球分布占比;
            }
            set
            {
                SetPropertyValue("客户采购额及全球分布占比", ref _客户采购额及全球分布占比, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户主要供应商名称
        {
            get
            {
                return _客户主要供应商名称;
            }
            set
            {
                SetPropertyValue("客户主要供应商名称", ref _客户主要供应商名称, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户产品市场区域
        {
            get
            {
                return _客户产品市场区域;
            }
            set
            {
                SetPropertyValue("客户产品市场区域", ref _客户产品市场区域, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string 客户主要竞争对手
        {
            get
            {
                return _客户主要竞争对手;
            }
            set
            {
                SetPropertyValue("客户主要竞争对手", ref _客户主要竞争对手, value);
            }
        }


        [Association("客户信息-报价需求单")]
        public XPCollection<报价需求单> 报价需求单
        {
            get
            {
                return GetCollection<报价需求单>("报价需求单");
            }
        }

    }

}